package com.cloud.haiyan_xo.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.cloud.haiyan_base.service.SuperService;
import com.cloud.haiyan_commons.entity.Tag;
import com.cloud.haiyan_xo.vo.TagVo;


import java.util.List;

/**
 * 标签表 服务类
 */
public interface TagService extends SuperService<Tag> {
    /**
     * 获取博客标签列表
     *
     * @param tagVo
     * @return
     */
    public IPage<Tag> getPageList(TagVo tagVo);

    /**
     * 获取全部博客标签列表
     *
     * @return
     */
    public List<Tag> getList();

    /**
     * 新增博客标签
     *
     * @param tagVo
     */
    public String addTag(TagVo tagVo);

    /**
     * 编辑博客标签
     *
     * @param tagVo
     */
    public String editTag(TagVo tagVo);

    /**
     * 批量删除博客标签
     *
     * @param tagVoList
     */
    public String deleteBatchTag(List<TagVo> tagVoList);

    /**
     * 置顶博客标签
     *
     * @param tagVo
     */
    public String stickTag(TagVo tagVo);

    /**
     * 通过点击量排序博客
     *
     * @return
     */
    public String tagSortByClickCount();

    /**
     * 通过引用量排序博客
     *
     * @return
     */
    public String tagSortByCite();

    /**
     * 获取热门标签
     *
     * @return
     */
    public IPage<Tag> getHotTag(Integer hotTagCount);

    /**
     * 获取一个排序最高的标签
     *
     * @return
     */
    public Tag getTopTag();
}
